summaryrefslogtreecommitdiff
path: root/app/[lng]/evcp/(evcp)/(procurement)
diff options
context:
space:
mode:
Diffstat (limited to 'app/[lng]/evcp/(evcp)/(procurement)')
-rw-r--r--app/[lng]/evcp/(evcp)/(procurement)/general-contracts/page.tsx8
-rw-r--r--app/[lng]/evcp/(evcp)/(procurement)/itb-create/page.tsx15
-rw-r--r--app/[lng]/evcp/(evcp)/(procurement)/pcr/page.tsx14
-rw-r--r--app/[lng]/evcp/(evcp)/(procurement)/tbe-last/page.tsx15
4 files changed, 31 insertions, 21 deletions
diff --git a/app/[lng]/evcp/(evcp)/(procurement)/general-contracts/page.tsx b/app/[lng]/evcp/(evcp)/(procurement)/general-contracts/page.tsx
index a6d5057c..96f03d09 100644
--- a/app/[lng]/evcp/(evcp)/(procurement)/general-contracts/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(procurement)/general-contracts/page.tsx
@@ -12,6 +12,7 @@ import { GeneralContractsTable } from "@/lib/general-contracts/main/general-cont
import { getValidFilters } from "@/lib/data-table"
import { type SearchParams } from "@/types/table"
import { InformationButton } from "@/components/information/information-button"
+import { useTranslation } from "@/i18n"
export const metadata = {
title: "일반계약 관리",
@@ -19,10 +20,13 @@ export const metadata = {
}
interface IndexPageProps {
+ params: Promise<{ lng: string }>
searchParams: Promise<SearchParams>
}
export default async function GeneralContractsPage(props: IndexPageProps) {
+ const { lng } = await props.params
+ const { t } = await useTranslation(lng, 'menu')
// ✅ searchParams 파싱
const searchParams = await props.searchParams
const search = searchParamsCache.parse(searchParams)
@@ -52,12 +56,12 @@ export default async function GeneralContractsPage(props: IndexPageProps) {
<div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- 일반계약 관리
+ {t('menu.procurement.general_contract')}
</h2>
<InformationButton pagePath="evcp/general-contracts" />
</div>
<p className="text-muted-foreground">
- 일반계약을 생성하고 관리할 수 있습니다. 계약 상세정보, 품목정보, 납품확인서 등을 관리할 수 있습니다.
+ {t('menu.procurement.general_contract_desc')}
</p>
</div>
</div>
diff --git a/app/[lng]/evcp/(evcp)/(procurement)/itb-create/page.tsx b/app/[lng]/evcp/(evcp)/(procurement)/itb-create/page.tsx
index 54040e7f..77dc54ee 100644
--- a/app/[lng]/evcp/(evcp)/(procurement)/itb-create/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(procurement)/itb-create/page.tsx
@@ -12,17 +12,16 @@ import Link from "next/link";
import { searchParamsPurchaseRequestCache } from "@/lib/itb/validations";
import { getAllPurchaseRequests, getPurchaseRequestStats } from "@/lib/itb/service";
import { PurchaseRequestsTable } from "@/lib/itb/table/purchase-requests-table";
+import { useTranslation } from "@/i18n"
interface PurchaseRequestsPageProps {
- params: {
- lng: string;
- };
+ params: Promise<{ lng: string }>;
searchParams: Promise<SearchParams>;
}
export default async function PurchaseRequestsPage(props: PurchaseRequestsPageProps) {
- const resolvedParams = await props.params;
- const lng = resolvedParams.lng;
+ const { lng } = await props.params
+ const { t } = await useTranslation(lng, 'menu')
const searchParams = await props.searchParams;
@@ -44,10 +43,10 @@ export default async function PurchaseRequestsPage(props: PurchaseRequestsPagePr
<div className="flex items-center justify-between">
<div>
<h2 className="text-2xl font-bold tracking-tight">
- 구매 요청 관리
+ {t('menu.engineering_management.itb')}
</h2>
<p className="text-muted-foreground">
- 프로젝트별 자재 구매 요청을 생성하고 관리합니다.
+ {t('menu.engineering_management.itb_desc')}
</p>
</div>
</div>
@@ -161,4 +160,4 @@ async function PurchaseRequestStats({
export const metadata = {
title: "Purchase Request Management",
description: "Create and manage material purchase requests for projects",
-}; \ No newline at end of file
+};
diff --git a/app/[lng]/evcp/(evcp)/(procurement)/pcr/page.tsx b/app/[lng]/evcp/(evcp)/(procurement)/pcr/page.tsx
index 7617bf58..22e0c124 100644
--- a/app/[lng]/evcp/(evcp)/(procurement)/pcr/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(procurement)/pcr/page.tsx
@@ -5,12 +5,17 @@ import { InformationButton } from "@/components/information/information-button"
import { PcrTable } from "@/lib/pcr/table/pcr-table";
import { getPcrPoList } from "@/lib/pcr/service";
+import { useTranslation } from "@/i18n"
export const metadata = {
title: "PCR 관리",
description: "Purchase Change Request를 생성하고 관리할 수 있습니다.",
};
+interface IndexPageProps {
+ params: Promise<{ lng: string }>
+}
+
async function PcrTableWrapper() {
// 기본 데이터 조회 (EvcP용 - 모든 데이터 조회)
const tableData = await getPcrPoList({
@@ -21,7 +26,10 @@ async function PcrTableWrapper() {
return <PcrTable tableData={tableData} isEvcpPage={true} currentVendorId={undefined} />;
}
-export default function PcrPage() {
+export default async function PcrPage({ params }: IndexPageProps) {
+ const { lng } = await params
+ const { t } = await useTranslation(lng, 'menu')
+
return (
<Shell className="gap-4">
{/* ═══════════════════════════════════════════════════════════════ */}
@@ -32,12 +40,12 @@ export default function PcrPage() {
<div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- PCR 관리
+ {t('menu.procurement.pcr')}
</h2>
<InformationButton pagePath="evcp/pcr" />
</div>
<p className="text-muted-foreground">
- Purchase Change Request를 생성하고 관리할 수 있습니다. PCR 승인 상태, 변경 구분, PO/계약 정보 등을 확인할 수 있습니다.
+ {t('menu.procurement.pcr_desc')}
</p>
</div>
</div>
diff --git a/app/[lng]/evcp/(evcp)/(procurement)/tbe-last/page.tsx b/app/[lng]/evcp/(evcp)/(procurement)/tbe-last/page.tsx
index 61e7ce05..81d2af51 100644
--- a/app/[lng]/evcp/(evcp)/(procurement)/tbe-last/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(procurement)/tbe-last/page.tsx
@@ -10,17 +10,16 @@ import { Shell } from "@/components/shell"
import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton"
import { Button } from "@/components/ui/button"
import { Plus } from "lucide-react"
+import { useTranslation } from "@/i18n"
interface TbeLastPageProps {
- params: {
- lng: string
- }
+ params: Promise<{ lng: string }>
searchParams: Promise<SearchParams>
}
export default async function TbeLastPage(props: TbeLastPageProps) {
- const resolvedParams = await props.params
- const lng = resolvedParams.lng
+ const { lng } = await props.params
+ const { t } = await useTranslation(lng, 'menu')
const searchParams = await props.searchParams
@@ -41,10 +40,10 @@ export default async function TbeLastPage(props: TbeLastPageProps) {
<div className="flex items-center justify-between">
<div>
<h2 className="text-2xl font-bold tracking-tight">
- Technical Bid Evaluation (TBE)
+ {t('menu.engineering_management.tbe')}
</h2>
<p className="text-muted-foreground">
- RFQ 발송 후 기술 평가를 진행하고 문서를 검토합니다.
+ {t('menu.engineering_management.tbe_desc')}
</p>
</div>
@@ -71,4 +70,4 @@ export default async function TbeLastPage(props: TbeLastPageProps) {
export const metadata = {
title: "TBE Management",
description: "Technical Bid Evaluation for RFQ responses",
-} \ No newline at end of file
+}